package com.ys.system01;

import java.io.InputStream;
import java.io.PrintStream;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

/**
 * 描述: System工具类
 *
 * @author CodeYang
 * @version 2020/12/23 11:28
 */
public class System工具类 {

    public static void main(String[] args) {

        // System的三个属性
       /*
        public final static InputStream in = null;  // 标准输入流
        public final static PrintStream out = null; // 标准输出流
        public final static PrintStream err = null; // 标准错误流--本质也是输出流
        */

        // System 的常用方法
        // System 的构造方法使用 private修饰 不可实例化
        /**
         * 1 获得系统的毫秒时间 1970-1-1 00:00:00 - now 的毫秒数
         * public static native long currentTimeMillis();
         */
        long millis = System.currentTimeMillis();
        System.out.println(millis);
        System.out.println("--------------------------------------------------");
        /**
         * 2 返回一个 系统当前的纳秒数
         * public static native long nanoTime();
         */
        long nanoTime = System.nanoTime();
        System.out.println(nanoTime);
        System.out.println("--------------------------------------------------");
        /**
         * 3
         *   public static java.util.Map<String,String> getenv() {}
         *   返回当前系统环境的不可修改的字符串映射视图。
         */
        Map<String, String> map = System.getenv();
        Set<Map.Entry<String, String>> set = map.entrySet();
        Iterator<Map.Entry<String, String>> iterator = set.iterator();
        while (iterator.hasNext()) {
            Map.Entry<String, String> entry = iterator.next();
            System.out.println(entry.getKey() + " " + entry.getValue());
        }
        System.out.println("--------------------------------------------------");
        /** 4 获得系统参数
         *  public static String getProperty(String key)
         */
        String osname = System.getProperty("os.name");
        String osarch = System.getProperty("os.arch");
        // 获取JVM的名称和版本
        String vmName = System.getProperty("java.vm.name");
        String vmVersion = System.getProperty("java.vm.version");
        // 获取用户的当前工作目录 默认式idea的工程的文件目录 绝对路径
        String userDir = System.getProperty("user.dir");
        System.out.println("系统名称:"+osname);
        System.out.println("系统架构:"+osarch);
        System.out.println("JVM名称:"+vmName);
        System.out.println("JVM版本:"+vmVersion);
        System.out.println("当前工作目录：" + userDir);




    }
}
